package com.huantai.common.dto;

import java.io.Serializable;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.NotEmpty;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * RESTful API 请求基类，需要accessToken的情况下使用
 * 
 * @author Ma Chao
 * @version 2019年5月22日 下午5:25:03
 * @param <T>
 */
@Data
@ApiModel(description = "RESTful API 请求基类")
public class BaseRequest<T extends java.io.Serializable> implements Serializable {
    private static final long serialVersionUID = 1L;

    /** 接口调用凭证 */
    @NotEmpty
    @ApiModelProperty(notes = "接口调用凭证", dataType = "String", example = "i4uj98gdhw00dwuoie2sa2anb")
    private String accessToken;

    /** 其它请求参数 */
    @NotNull
    @Valid
    @ApiModelProperty(notes = "其它请求参数", required = true)
    private T param;
}
